ABOUT THE "COMMERCIAL EXAMPLE"

This system demonstrates one way to encrypt license keys at your office, which can then be provided to customers, whose software then decrypts the codes.

In this example, a 6-digit Customer Number and an Expiration Date are encoded. You might use this to sell a commercial software product which is valid until the expiration date that you specify.

"Master Software File" is assumed to be the main file of your customer's solution that he has downloaded or bought from you. This file decrypts whatever license key the customer inputs, and determines his privileges, expiration date, etc.

"Administration" is the file you use at your office to generate license keys for your customers. This system only encrypts an expiration date and the customer's customer number. You could add any other characters to the string to add support for additional privileges.

The other two files are a customer data file and a code data file, which are used by the Administration system.

HOW TO USE THIS SOLUTION

This is an example of how you might use encrypted codes to sell expiration dates to users of your software. Each code uniquely combines a customer number and a future date, so that a code you sell to one customer cannot be used by another customers, and so that your software can only be used until the date you specify before another code must be purchased.

This is, of course, only one way that you might choose to sell your software. You can substitute the customer number and expiration dates for other purposes. But the general idea remains the same: meaningful data is encrypted into a serial code, which is sold, and then decrypted back into meaningful data by the user's software.

Use the Administration database to manage the your customers. Add and edit your customers. Each is automatically assigned a unique Customer Number. Use this system also to generate unique serial codes according to an expiration date that you can specify for each sale.

Use the Master Software File to pretend that you are a customer. Enter your Customer Number - presumably this would have been provided to you when you purchased the software. Then enter a serial code (just look at the Administration database to find a valid serial code for your customer number. Be sure to enter it exactly as shown, including hyphens).

NOTE THAT THIS REQUIRES FILEMAKER PRO 6 OR LATER.

When you are in the mood for some brain twisting, look inside the admin_codes database to see how the encrypted codes are generated. Look inside the Master Software File database to see how encrypted codes are decrypted back into meaningful date.

Brian Dunning
http://www.briandunning.com/